

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>对象</title>
</head>
<body>

    <script>
        // 万物皆对象  
        // 对象   属性和方法的集合。
        // 创建方式
        //         字面量
        //         new Object()
        //         new 构造函数()
        //         class方式创建

        /*
            2.对象属性读取修改
                obj.attr
                obj["attr"]
           
        */

        // 1:字面量
        const  obj = {
            id: 1000,
            name: "king"
        }
        console.log(obj.id);
        console.log(obj["name"]);
        
        // 鸿蒙next版本不支持
        obj["name"] = "queen"
        obj.name = "mary"
        obj.age = 20
        console.log(obj);
        
        delete  obj.name
        console.log(obj);

        /*
            3.Object.defineProperty()使用（了解）
                value://属性值
                writable: //控制属性是否可以修改，默认值也是false
                enumerable： //控制属性是否可以for in 遍历 是否可枚举属性
                configurable： 如果为false 控制是否可以删除这个属性，默认为false
        */

        let obj2 = {
            id: 1000,
            name: "tom"
        }

        // 三个参数 第一个  被劫持的对象  第二个参数  添加修改的属性  第三个：可配置选项对象
        Object.defineProperty(obj2,"age",{
            value: 18,
            enumerable: true, //设置可以枚举  for in 循环
            configurable: true //设置可以配置
        })


        for (const key in obj2) {
            console.log('下标是：', key)//下标
            console.log('值是：', obj2[key])
        }

        delete  obj2.name

        console.log(obj2);
        

         /*
            4.哈希表、关联型数组（了解）
                哈希（hash）数组（关联数组） :关联型数组，也叫做哈希表（通常以字符串为键值）
                设置：arr['key'] = value
                读取：arr['key'] | arr.key
        */

        // 哈希数组的存储内容以一对对键值对的形式出现

        let arr = []
        arr["id"] = 1000;
        arr["name" ] = "jack";
        arr["age"] = 18;
        console.log(arr);
        
        // var hash = [ "name": '小茗同学', id: '4405***680', sex:'男' ];

        // var  arr = [id:1000,name:"tom","age":20]


        

    </script>
    
</body>
</html>